package com.yujiahao.bigdata.rdd.action

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

object Spark01_Action_SaveAsTextFile {
  def main(args: Array[String]): Unit = {
    //TODO 1、获得Spark环境的连接
    // 参数解读：setAppName("当前执行程序的名字").setMaster("当前的环境")
    // 分布式环境的基本架构为 主 - 从
    val conf: SparkConf = new SparkConf().setAppName("WordCount").setMaster("local")
    val sc: SparkContext = new SparkContext(conf)
    //TODO 3、业务逻辑


    val rdd: RDD[Int] = sc.makeRDD(List(1, 2, 3, 4),2)
    //TODO 行动算子 saveAsTextFile
    //将数据保存到分区文件中，但是文件格式可以是不同的
    rdd.saveAsTextFile("output")
    rdd.saveAsObjectFile("output1")
    //TODO 但是注意saveAsSequenceFile需要处理KV类型的数据
    //所以将上面的rdd转变一下结构
    rdd.map((_,1)).saveAsSequenceFile("output2")
    //TODO 2、关闭Spark环境的连接
    sc.stop()

  }

}
